
package com.derbysoft.lowcostadapter.commons.dto;

import java.math.BigDecimal;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;


/**
 * <p>Java class for Booking complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="Booking">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="ReturnStatus" type="{http://ivectorbookingxml/}ReturnStatus" minOccurs="0"/>
 *         &lt;element name="BookingReference" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="Status" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="AccountStatus" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="LeadGuestTitle" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="LeadGuestFirstName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="LeadGuestLastName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="LeadGuestAddress1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="LeadGuestAddress2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="LeadGuestTownCity" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="LeadGuestCounty" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="LeadGuestPostcode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="LeadGuestBookingCountry" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="LeadGuestPhone" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="LeadGuestFax" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="LeadGuestEmail" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="TotalPrice" type="{http://www.w3.org/2001/XMLSchema}decimal"/>
 *         &lt;element name="TotalPaid" type="{http://www.w3.org/2001/XMLSchema}decimal"/>
 *         &lt;element name="TotalOutstanding" type="{http://www.w3.org/2001/XMLSchema}decimal"/>
 *         &lt;element name="TotalCommission" type="{http://www.w3.org/2001/XMLSchema}decimal"/>
 *         &lt;element name="Properties" type="{http://ivectorbookingxml/}ArrayOfProperty" minOccurs="0"/>
 *         &lt;element name="Transfers" type="{http://ivectorbookingxml/}ArrayOfTransfer" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Booking", propOrder = {
    "returnStatus",
    "bookingReference",
    "status",
    "accountStatus",
    "leadGuestTitle",
    "leadGuestFirstName",
    "leadGuestLastName",
    "leadGuestAddress1",
    "leadGuestAddress2",
    "leadGuestTownCity",
    "leadGuestCounty",
    "leadGuestPostcode",
    "leadGuestBookingCountry",
    "leadGuestPhone",
    "leadGuestFax",
    "leadGuestEmail",
    "totalPrice",
    "totalPaid",
    "totalOutstanding",
    "totalCommission",
    "properties",
    "transfers"
})
public class Booking {

    @XmlElement(name = "ReturnStatus")
    protected ReturnStatus returnStatus;
    @XmlElement(name = "BookingReference")
    protected String bookingReference;
    @XmlElement(name = "Status")
    protected String status;
    @XmlElement(name = "AccountStatus")
    protected String accountStatus;
    @XmlElement(name = "LeadGuestTitle")
    protected String leadGuestTitle;
    @XmlElement(name = "LeadGuestFirstName")
    protected String leadGuestFirstName;
    @XmlElement(name = "LeadGuestLastName")
    protected String leadGuestLastName;
    @XmlElement(name = "LeadGuestAddress1")
    protected String leadGuestAddress1;
    @XmlElement(name = "LeadGuestAddress2")
    protected String leadGuestAddress2;
    @XmlElement(name = "LeadGuestTownCity")
    protected String leadGuestTownCity;
    @XmlElement(name = "LeadGuestCounty")
    protected String leadGuestCounty;
    @XmlElement(name = "LeadGuestPostcode")
    protected String leadGuestPostcode;
    @XmlElement(name = "LeadGuestBookingCountry")
    protected String leadGuestBookingCountry;
    @XmlElement(name = "LeadGuestPhone")
    protected String leadGuestPhone;
    @XmlElement(name = "LeadGuestFax")
    protected String leadGuestFax;
    @XmlElement(name = "LeadGuestEmail")
    protected String leadGuestEmail;
    @XmlElement(name = "TotalPrice", required = true)
    protected BigDecimal totalPrice;
    @XmlElement(name = "TotalPaid", required = true)
    protected BigDecimal totalPaid;
    @XmlElement(name = "TotalOutstanding", required = true)
    protected BigDecimal totalOutstanding;
    @XmlElement(name = "TotalCommission", required = true)
    protected BigDecimal totalCommission;
    @XmlElement(name = "Properties")
    protected ArrayOfProperty properties;
    @XmlElement(name = "Transfers")
    protected ArrayOfTransfer transfers;

    /**
     * Gets the value of the returnStatus property.
     * 
     * @return
     *     possible object is
     *     {@link ReturnStatus }
     *     
     */
    public ReturnStatus getReturnStatus() {
        return returnStatus;
    }

    /**
     * Sets the value of the returnStatus property.
     * 
     * @param value
     *     allowed object is
     *     {@link ReturnStatus }
     *     
     */
    public void setReturnStatus(ReturnStatus value) {
        this.returnStatus = value;
    }

    /**
     * Gets the value of the bookingReference property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getBookingReference() {
        return bookingReference;
    }

    /**
     * Sets the value of the bookingReference property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setBookingReference(String value) {
        this.bookingReference = value;
    }

    /**
     * Gets the value of the status property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getStatus() {
        return status;
    }

    /**
     * Sets the value of the status property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setStatus(String value) {
        this.status = value;
    }

    /**
     * Gets the value of the accountStatus property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAccountStatus() {
        return accountStatus;
    }

    /**
     * Sets the value of the accountStatus property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAccountStatus(String value) {
        this.accountStatus = value;
    }

    /**
     * Gets the value of the leadGuestTitle property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getLeadGuestTitle() {
        return leadGuestTitle;
    }

    /**
     * Sets the value of the leadGuestTitle property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLeadGuestTitle(String value) {
        this.leadGuestTitle = value;
    }

    /**
     * Gets the value of the leadGuestFirstName property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getLeadGuestFirstName() {
        return leadGuestFirstName;
    }

    /**
     * Sets the value of the leadGuestFirstName property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLeadGuestFirstName(String value) {
        this.leadGuestFirstName = value;
    }

    /**
     * Gets the value of the leadGuestLastName property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getLeadGuestLastName() {
        return leadGuestLastName;
    }

    /**
     * Sets the value of the leadGuestLastName property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLeadGuestLastName(String value) {
        this.leadGuestLastName = value;
    }

    /**
     * Gets the value of the leadGuestAddress1 property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getLeadGuestAddress1() {
        return leadGuestAddress1;
    }

    /**
     * Sets the value of the leadGuestAddress1 property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLeadGuestAddress1(String value) {
        this.leadGuestAddress1 = value;
    }

    /**
     * Gets the value of the leadGuestAddress2 property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getLeadGuestAddress2() {
        return leadGuestAddress2;
    }

    /**
     * Sets the value of the leadGuestAddress2 property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLeadGuestAddress2(String value) {
        this.leadGuestAddress2 = value;
    }

    /**
     * Gets the value of the leadGuestTownCity property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getLeadGuestTownCity() {
        return leadGuestTownCity;
    }

    /**
     * Sets the value of the leadGuestTownCity property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLeadGuestTownCity(String value) {
        this.leadGuestTownCity = value;
    }

    /**
     * Gets the value of the leadGuestCounty property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getLeadGuestCounty() {
        return leadGuestCounty;
    }

    /**
     * Sets the value of the leadGuestCounty property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLeadGuestCounty(String value) {
        this.leadGuestCounty = value;
    }

    /**
     * Gets the value of the leadGuestPostcode property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getLeadGuestPostcode() {
        return leadGuestPostcode;
    }

    /**
     * Sets the value of the leadGuestPostcode property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLeadGuestPostcode(String value) {
        this.leadGuestPostcode = value;
    }

    /**
     * Gets the value of the leadGuestBookingCountry property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getLeadGuestBookingCountry() {
        return leadGuestBookingCountry;
    }

    /**
     * Sets the value of the leadGuestBookingCountry property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLeadGuestBookingCountry(String value) {
        this.leadGuestBookingCountry = value;
    }

    /**
     * Gets the value of the leadGuestPhone property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getLeadGuestPhone() {
        return leadGuestPhone;
    }

    /**
     * Sets the value of the leadGuestPhone property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLeadGuestPhone(String value) {
        this.leadGuestPhone = value;
    }

    /**
     * Gets the value of the leadGuestFax property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getLeadGuestFax() {
        return leadGuestFax;
    }

    /**
     * Sets the value of the leadGuestFax property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLeadGuestFax(String value) {
        this.leadGuestFax = value;
    }

    /**
     * Gets the value of the leadGuestEmail property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getLeadGuestEmail() {
        return leadGuestEmail;
    }

    /**
     * Sets the value of the leadGuestEmail property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLeadGuestEmail(String value) {
        this.leadGuestEmail = value;
    }

    /**
     * Gets the value of the totalPrice property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getTotalPrice() {
        return totalPrice;
    }

    /**
     * Sets the value of the totalPrice property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setTotalPrice(BigDecimal value) {
        this.totalPrice = value;
    }

    /**
     * Gets the value of the totalPaid property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getTotalPaid() {
        return totalPaid;
    }

    /**
     * Sets the value of the totalPaid property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setTotalPaid(BigDecimal value) {
        this.totalPaid = value;
    }

    /**
     * Gets the value of the totalOutstanding property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getTotalOutstanding() {
        return totalOutstanding;
    }

    /**
     * Sets the value of the totalOutstanding property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setTotalOutstanding(BigDecimal value) {
        this.totalOutstanding = value;
    }

    /**
     * Gets the value of the totalCommission property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getTotalCommission() {
        return totalCommission;
    }

    /**
     * Sets the value of the totalCommission property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setTotalCommission(BigDecimal value) {
        this.totalCommission = value;
    }

    /**
     * Gets the value of the properties property.
     * 
     * @return
     *     possible object is
     *     {@link ArrayOfProperty }
     *     
     */
    public ArrayOfProperty getProperties() {
        return properties;
    }

    /**
     * Sets the value of the properties property.
     * 
     * @param value
     *     allowed object is
     *     {@link ArrayOfProperty }
     *     
     */
    public void setProperties(ArrayOfProperty value) {
        this.properties = value;
    }

    /**
     * Gets the value of the transfers property.
     * 
     * @return
     *     possible object is
     *     {@link ArrayOfTransfer }
     *     
     */
    public ArrayOfTransfer getTransfers() {
        return transfers;
    }

    /**
     * Sets the value of the transfers property.
     * 
     * @param value
     *     allowed object is
     *     {@link ArrayOfTransfer }
     *     
     */
    public void setTransfers(ArrayOfTransfer value) {
        this.transfers = value;
    }

}
